home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Now 11 / CD-ROM Now MegaDisc 11 (1995-02).iso / discs / tcl / tcl_faq0.par < prev    next >
Encoding:
Text File  |  1994-10-27  |  51.3 KB  |  1,331 lines

  1. Newsgroups: comp.lang.tcl,comp.answers,news.answers
  2. Path: lvirden
  3. From: lwv26@cas.org (Larry W. Virden)
  4. Subject: FAQ: comp.lang.tcl Frequently Asked Questions (1/5)
  5.     (Last updated: March 22, 1994)
  6. Followup-To: comp.lang.tcl
  7. Summary: A regular posting of the comp.lang.tcl Frequently Asked Questions 
  8.     (FAQ) and their answers.  This is the first of five parts.
  9.     This part introduces Tcl and Tk and discusses documentation, etc.
  10. Originator: lvirden@cas.org
  11. Keywords: tcl, extended tcl, tk, expect
  12. Sender: lvirden@cas.org
  13. Reply-To: lvirden@cas.org (Larry W. Virden)
  14. Approved: news-answers-request@MIT.Edu
  15.  
  16. Archive-name: tcl-faq/part1
  17. Version: 4.7
  18. Last-modified: March 22, 1994
  19.  
  20.  
  21.     For more information concerning Tcl (see "tcl-faq/part2"),
  22. (see "tcl-faq/part3"), (see "tcl-faq/part4"), or (see "tcl-faq/part5").
  23.  
  24. Index of questions:
  25.  
  26. I.   Origin of the comp.lang.tcl FAQ information.
  27. II.  What is Tcl?  Tk?  Extended Tcl?
  28. III. Do these packages run on my machine?
  29.     A. Unix
  30.     B. MacOS
  31.     C. INTEL DOS-like systems
  32.     D. VMS
  33.     E. AmigaDOS
  34.     F. NeXT
  35.     G. Other
  36. IV.  Other than C, What languages can talk to tcl/tk?
  37.     A. Shell
  38.     B. C++
  39.         C. Modula-3
  40.     D. Eiffel
  41.     E. Ada
  42.     F. Other
  43. V.   Is there a bibliography of material relating to these programs?
  44.     A. The Tcl distribution 
  45.     B. The Expect distribution
  46.     C. Miscellaneous other online materials
  47.     D. Published articles, books, and similarly available resources
  48.     E. Training courses, materials, etc.
  49.     F. Time-related seminars, conferences, sessions.
  50. VI.  Where do I report problems, bugs, or enhancements - or -
  51.     What is comp.lang.tcl?
  52. VII. Are there any mailing lists covering topics related to Tcl/Tk?
  53. VIII. Where can I find the FAQ and who do I contact for more information 
  54.     about it?
  55.     
  56. End of FAQ Index
  57.  
  58. ----------------------------------------------------------------------
  59.  
  60. ------------------------------
  61.  
  62. From: FAQ General information
  63. Subject: -I- Origin of the comp.lang.tcl FAQ information.
  64.  
  65.     The information in this set of FAQs comes from several sources.  The
  66. primary source of information is the group itself - I spend (much too
  67. much) time each month culling through what I feel are some of the best
  68. answers, gathering up new information on ports, etc. and adding it
  69. here.  I also gather new application information and add it as
  70. best I can.  The next most predominant source of information comes from
  71. the authors of the various software packages.  Finally, a small amount
  72. comes from my personal experiences.
  73.  
  74.     I am always on the search for folk to assist in the maintenance
  75. of these FAQs.  In fact, if you feel that you would like to coordinate
  76. this effort, PLEASE let me know!
  77.  
  78. ------------------------------
  79.  
  80. From: FAQ General information
  81. Subject: -II- What is Tcl?  Tk?  Extended Tcl? 
  82.  
  83.     Tcl and Tk originated with Dr. John Ousterhout (Oh'-stir-hout -
  84. last syllable rhymes with rout, not root) from the University of California,
  85. Berkeley, California.
  86.  
  87.     Tcl (current release version 7.3) stands for ``tool command
  88. language'' and is pronounced ``tickle.'' The author's home ftp site for
  89. the Tcl source code is ftp.cs.berkeley.edu.  Tcl is actually two
  90. things: a language and a library.  First, Tcl is a simple textual
  91. language, intended primarily for issuing commands to interactive
  92. programs such as text editors, debuggers, illustrators, and shells.  It
  93. has a simple syntax and is also programmable, so Tcl users can write
  94. command procedures to provide more powerful commands than those in the
  95. built-in set.
  96.  
  97.     Second, Tcl is a library package that can be embedded in
  98. application programs.  The Tcl library consists of a parser for the Tcl
  99. language, routines to implement the Tcl built-in commands, and
  100. procedures that allow each application to extend Tcl with additional
  101. commands specific to that application.  The application program
  102. generates Tcl commands and passes them to the Tcl parser for
  103. execution.  Commands may be generated by reading characters from an
  104. input source, or by associating command strings with elements of the
  105. application's user interface, such as menu entries, buttons, or
  106. keystrokes.  When the Tcl library receives commands it parses them into
  107. component fields and executes built-in commands directly.  For commands
  108. implemented by the application, Tcl calls back to the application to
  109. execute the commands.  In many cases commands will invoke recursive
  110. invocations of the Tcl interpreter by passing in additional strings to
  111. execute (procedures, looping commands, and conditional commands all
  112. work in this way).
  113.  
  114.     An application program gains three advantages by using Tcl for
  115. its command language.  First, Tcl provides a standard syntax:  once
  116. users know Tcl, they will be able to issue commands easily to any
  117. Tcl-based application.  Second, Tcl provides programmability.  All a
  118. Tcl application needs to do is to implement a few application-specific
  119. low-level commands.  Tcl provides many utility commands plus a general
  120. programming interface for building up complex command procedures.  By
  121. using Tcl, applications need not re-implement these features.  Third,
  122. extensions to Tcl, such as the Tk toolkit, provide mechanisms for
  123. communicating between applications by sending Tcl commands back and
  124. forth.  The common Tcl language framework makes it easier for
  125. applications to communicate with one another.
  126.  
  127.     Tk (current release 3.6) - an extension to Tcl which provides
  128. the programmer with an interface to the X11 windowing system.  The
  129. author's home ftp site for the Tk source is ftp.cs.berkeley.edu.
  130. Note that many users will encounter Tk via the ``wish'' command.  Wish
  131. is a simple windowing shell which permits the user to write Tcl
  132. applications in a prototyping environment.
  133.  
  134.     Extended Tcl (tclX) (Version 7.3a) - This is an extended set of
  135. commands for Tcl developed by Karl Lehenbauer and Mark Diekhans.  The
  136. authors' home ftp site for Extended Tcl is ftp.neosoft.com.  Extended
  137. Tcl is oriented towards system programming tasks, with many additional
  138. interfaces to the Unix operating system along with other useful
  139. utilities.
  140.  
  141. ------------------------------
  142.  
  143. From: FAQ General information
  144. Subject: -III- Do these packages run on my machine?
  145.  
  146. A. Unix
  147.  
  148.     Tcl runs on Sun 3s and 4s running SunOS 4 and SunOS 5 (Solaris
  149. 1.x and 2.x), DECstations running Ultrix, DEC VAXen running Ultrix or
  150. BSD, DEC Alphas running OSF/1, 386s running SCO Unix, Xenix, Bell-Tech,
  151. Silicon Graphics running IRIX, HPs running HP-UX as well as HP Snakes
  152. running OSF/1 and HP-UX.  Intel [34]86 systems running 386bsd, netbsd,
  153. freebsd, BSDI, and Linux have Tcl ported.  Various CPUs running System
  154. V.4 report having ported Tcl.  Tcl also appears to be running on
  155. Sequent Symmetry running Dynix as well as OSF/1.  It also has been
  156. reported to run fine on IBM RS6000 under AIX 3.x as well as IBM ES/9000
  157. and AIX/ESA.  There were few problems getting it running under Mt. Xinu
  158. Mach.  It also has been ported to Encore 91's running UMAX V (an 88k
  159. based System V with BSD extension Unix).  It also runs on Apollos
  160. running BSD/SYSV.  Tcl runs on a Cray running Unicos.  At least one
  161. person has ported Tcl to a Mac (IIfx) running A/UX v3.0.  Someone
  162. ported Tcl to a Sony NeWS machine running NEWS-OS 4.2.
  163. A port to a Convex 3220 and 3880 was also reported.
  164.  
  165.     Tk (being based on Tcl) generally requires X11R4 or better as the only 
  166. additional software requirement.  It runs on any of the above Unix
  167. systems with that base of software.  It also runs on VMS, OSF/1 and Windows.
  168.  
  169.     For information on Tcl/Tk/TclX availability (see "tcl-faq/part4").
  170.  
  171.  
  172. B. MacOS
  173.  
  174.     See below for details of a Macintosh Tcl Mailing list.
  175.  
  176.  
  177. ---
  178.  
  179.     Ray Johnson <rjohnson@aic.lockheed.com> has a package called
  180. MacTcl.  This is a fairly straight port of Tcl to the Macintosh.  It is
  181. designed to be used as libraries to be embedded into other
  182. applications.  A basic shell is included.  Most Tcl features are
  183. present, including many Unix-like features.  Additional features
  184. include supporting the env variable and sourcing Tcl code from a 
  185. resource.  The current version is available at
  186. ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/MacTcl7.3.sea.hqx
  187.  
  188.     As of this time, I have no leads on anyone porting Tk to MacOS.
  189. I also have not heard of anyone porting Tcl/Tk to an Apple PowerPC.
  190.  
  191.     Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
  192. for the latest port locations and versions.
  193.  
  194.  
  195. C. INTEL DOS-like systems
  196.  
  197.     Numerous ports to DOS are available.  One unsupported port to MS-DOS
  198. of Tcl and Extended Tcl V6.0a, done by "Karl Lehenbauer" <Karl@NeoSoft.com>, 
  199. is available on ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/dostcl.zoo for
  200. binaries and ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/dostcl60.zoo for
  201. source.
  202.  
  203.     A port of Tcl V6.2 to MS-DOS was done by 
  204. "John Martin" <johnm@cajal.uoregon.edu> and is available via FTP from
  205. ftp://cajal.uoregon.edu/pub/tcl.dos.port/ and
  206. ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/tcl62.dos.tar.Z .
  207.  
  208.     A source code only port of Tcl V6.7 to MS-DOS, done by 
  209. PSPRENG@CIPVAX.BIOLAN.UNI-KOELN.DE (Peter Sprenger), is available from
  210. him, somewhere on wuarchive.wustl.edu
  211. or as
  212. ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/tcl67dos.zip .
  213.  
  214.     A port of Tcl, version 7.3, to MS-DOS, done by
  215. tpoind@advtech.uswest.com (Tom Poindexter), is available as
  216. ftp://harbor.ecn.purdue/edu/pub/tcl/distrib/mstcl73*.zip .  This
  217. also includes TclX 7.3a and Tk ported to Desqview/X libraries.
  218.  
  219.     A port of Tcl, V6.1 ?, done by unknown, to MS-DOS Windows
  220. V 3.1 ?, is available as binary at
  221. ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/w_tclbin.zip and as source at
  222. ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/w_tclsrc.zip .
  223.  
  224.     An MS-DOS Windows DLL instance of Tcl 6.2 was generated by
  225. Ugo Cei <ugo@oliver.sublink.org>.  Contact him for more details.
  226.  
  227.     A Windows DLL was made by ekki@prakinf.tu-ilmenau.de (Ekkehard Beier)
  228. by slightly modifying a DOS 6.2 Tcl port.  There are still problems
  229. with the system/WinExec command.  A very rudimentary Debugger User Interface
  230. using Borland's Classlib is part of the zip-file, too.
  231. I used it with BC3.1++/AF on MS W3.1.  You can get a copy from
  232.  
  233. ftp://metallica.prakinf.tu-ilmenau.de/pub/DOS/wintcl.zip
  234.  
  235. via anonymous ftp.  Unfortunately Ekki doesn't have time currently to
  236. finish the Windows port and user Interface.
  237.  
  238.     Someone, whose name I don't have, reported porting Tcl to QNX
  239. with a fair amount of hacking.
  240.  
  241.     A port of Tcl Generic V6.7 (plus some minor extensions to OS/2 2.x
  242. has been done by bachww@rtsg.mot.com (Bud Bach).  As of this date, I
  243. have no leads on anyone porting Tk to any version of OS/2.
  244.  
  245.     Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
  246. for the latest port locations.
  247.  
  248.  
  249. D. VMS
  250.  
  251.     A port of Tcl 6.2 and Tk 1.4 to VMS was done by Angel Li
  252. <angel@flipper.rsmas.miami.edu>.  The files were at
  253. ftp://mango.rsmas.miami.edu/pub/tcl-vms.bck.Z and
  254. ftp://mango.rsmas.miami.edu/pub/tk-vms.bck.Z
  255. and were compressed with the Unix compress command.  The files were VMS
  256. BACKUP files.  A recent report has it that these files are no longer
  257. available.
  258.  
  259.     A port of Tcl 6.3 onto VMS 5.5 was done by Wolfgang Kechel
  260. <wolfgang@pr-wiesbaden.de> and Till Imanuel Panzschke.  Contact them
  261. directly for assistance.
  262.  
  263.     A port of most of Tcl 6.7 and Tk 3.2 was done by John Kimball
  264. <jkimball@src.honeywell.com> to VMS 5.5.  The files are on:
  265. ftp://src.honeywell.com/pub/tcl67-tk32-on-vms55.tar.Z .
  266.  
  267.     Gerald W. Lester (gwlester@cpu.com) says the following _should_ work.
  268. If you installed the POSIX package on VMS (its free), then you should be 
  269. able to configure and make tcl.  To access tcl you would have to do one 
  270. of the following: 1) Use the POSIX shell, or 2) do a "psx tcl".
  271. Tcl scripts would not execute directly from DCL; to execute a script foo.tcl
  272. from DCL you would have to do "psx foo.tcl".
  273. DISCLAIMER: I have not built any version of tcl under VMS POSIX, these
  274. comments are based on other work I've done with VMS POSIX.
  275.  
  276.     A port of Tcl 7.0 and Tk 3.3 has being done to VMS on the
  277. VAX and Alpha.  These are available as:
  278. ftp://src.honeywell.com/pub/vms-tcl/tcl70-tk33-on-vms55.tar.Z
  279.  
  280.     Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
  281. for the latest port locations.
  282.  
  283.  
  284. E. AmigaDOS
  285.  
  286.     Karl Lehbauer <karl@sugar.NeoSoft.com> has indicated that
  287. he started a port of Tcl 3.x to the Amiga.  He has a working
  288. version, but is no longer working on it.  His version uses the
  289. Amiga's shared libraries and implements the "send" command.
  290. He wrote a MIDI file loader and player as well.  Contact him for
  291. further details.  
  292.  
  293.     Ty Sarna <tsarna@endicor.com> has ported Tcl 6.x to the Amiga.  
  294. He says:
  295. > I've ported 3.3 and several 6.x versions to the Amiga, and it can be
  296. > done in under and hour if you leave out the "Unix" functionality.
  297. > However, "Unix" functionality includes things like file I/O!
  298.  
  299.     Another Amiga user, colas@opossum.inria.fr (Colas Nahaboo), mentioned
  300. that using Amiga gcc and the PD X server DaggeX and Xlibs that a port of
  301. Tk might be possible.
  302.  
  303.     hnm@hermes.bouw.tno.nl (Marco van der Heiden) has completed a port
  304. to the Amiga, and suggests Amiga developers contact him by email.  Also
  305. Ingo Wilken (Ingo.Wilken@arbi.informatik.uni-oldenburg.de) wrote that
  306. he was working on a port to the Amiga, with a goal of creating
  307. a shared library system.
  308.  
  309.     Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
  310. for the latest port locations.
  311.  
  312.  
  313. F. NeXT
  314.  
  315. Gianmaria Bertanzon <gm@itnsun4.lii.unitn.it> reports:
  316. > We are using tk3.2 on NeXT ( Motorola ) under NextStep 3.0 under X.
  317. > The compilation was easy. (we do not remember precisely all the steps)
  318.  
  319.     Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
  320. for the latest port locations.
  321.  
  322.  
  323. G. Other
  324.  
  325.     A port to the Apple IIgs and GNO 1.1/GSOS environment is underway.
  326.  
  327.  
  328.     A beta port of Tcl 7 has been done to VxWorks.
  329.     You can find it at thor.atd.ucar.edu:~ftp/pub/vx/tclvx7.0.v2.tar.gz .
  330.  
  331.     Also (see "tcl-faq/part4"), the Tcl programs/packages catalog,
  332. for the latest port locations.
  333.  
  334.  
  335. ------------------------------
  336.  
  337. From: FAQ General information
  338. Subject: -IV- Other than C, what languages can talk to tcl/tk?
  339.  
  340. A. Shell
  341.     There are at least two interfaces which are shell-like.  The
  342. first is wish, which is a windowing shell like interface that is a part
  343. of the Tk package.  The second is tcl, a line command interpreter that
  344. is part of the Extended Tcl package.
  345.  
  346. B. C++
  347.     Check out tcl++.h in Extended Tcl.  Based on an original
  348. implementation by Parag Patel, it defines a Tcl interpreter class by
  349. which Tcl interpreters can be created as objects under C++.
  350.  
  351.     Also, ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/tk3.2forC++.patch
  352. is a patch that allows tk 3.2 main.c and other extension routines
  353. to be compiled with a C++ compiler.  Thanks to Ken Yap <ken@syd.dit.csiro.au>
  354. for this code.
  355.  
  356.     Mark Diekhans and Karl Lehenbauer have used this, in
  357. combination with the handle facility in Extended Tcl, to build Tcl
  358. commands around C++ classes.
  359.  
  360.     The Tcl handle facility provides a way to manage table entries
  361. that can be referenced by a textual handle from Tcl code.  This is
  362. provided for applications that need to create data structures in one
  363. command, return a reference (i.e. pointer) to that particular data
  364. structure and then access that data structure in other commands.  An
  365. example application is file handles.
  366.  
  367.     A handle table was built containing pointers to the instances
  368. of a class that were to be accessed from Tcl, say a class `foo_cl', and
  369. then a "new" command defined that created an instance of that class and
  370. returned a Tcl handle to it.  The handle could then passed among Tcl
  371. commands that accessed each member function.  The handle is in effect
  372. an explicit `this' pointer.
  373.  
  374.     For example:
  375.  
  376.      set obj [foo_cl::new]
  377.      foo_cl::baz $obj "Hello world"
  378.      foo_cl::delete $obj
  379.  
  380. It's not totally object-oriented, but it's still very usable.
  381.  
  382. C. Modula-3
  383.     Norman Ramsey <elan.uucp!nr> says:
  384.     A long time back, Eric Muller posted a Modula-3 interface to
  385. the C Tcl library.  I wrote down a Modula-3/Tcl interface that used
  386. Modula-3 types rather than C types, and that used objects to build
  387. closures for commands.  I wrote part of the implementation but never
  388. finished it.  I have mailed copies to carroll@udel.edu, who asked the
  389. question, and I will post them if there seems to be general interest.
  390.  
  391. D. Eiffel
  392.     stephan@cs.tu-berlin.de (Stephan Herrmann) says:
  393.     ... [the tclish package provides] the marriage of two very different
  394. principles by means of combining two programming languages into a
  395. hybrid program architecture.  
  396.  
  397. E. Ada
  398.     dennis@dennis.cs.colorado.edu (Dennis Heimbigner) introduced
  399. an adatcl package which gives Ada programmers access to Tcl interpreters.
  400. See the catalog for details of the package.
  401.  
  402. F. Other
  403.  
  404.     Duncan Sinclair <sinclair@dcs.gla.ac.uk> has details of a hack
  405. into wish.c some hooks for a Tk <-> any language system, and has been using 
  406. it for communication with functional languages such as Haskell and Lazy ML.
  407. A paper, plus sample code, is available by ftp from
  408. ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/authors/Duncan_Sinclair/fumx.* .
  409.  
  410.  
  411. ------------------------------
  412.  
  413. From: FAQ General information
  414. Subject: -V- Is there a bibliography of material relating to these 
  415.         programs?
  416.  
  417.  
  418. A. The Tcl distribution 
  419.  
  420.     With the Tcl distribution there is a Postscript version of a Usenix
  421. paper introducing Tcl.  With the Tk distribution, there is a Postscript
  422. version of a Usenix paper introducing Tk.
  423.  
  424. Ousterhout, J.K., (1990) ``TCL: An Embeddable Command Language'', in
  425. the Proceedings of the 1990 Winter USENIX Conference, pp 133-146.
  426.  
  427. Ousterhout, J.K., (1991) ``An X11 Toolkit Based on the TCL Language'',
  428. in the Proceedings of the 1991 Winter USENIX Conference, pp 105-115.
  429.  
  430. Postscript file for introductory papers on Tcl and Tk are available as
  431. the public FTP area on ftp.cs.berkeley.edu (Internet address
  432. 128.32.149.78).  Their address is:
  433.  
  434. ftp://ftp.cs.berkeley.edu/ucb/tcl/tclUsenix90.ps
  435. ftp://ftp.cs.berkeley.edu/ucb/tcl/tkUsenix91.ps
  436. ftp://ftp.cs.berkeley.edu/ucb/tcl/tkF10.ps
  437.  
  438. (The last of these files is the contents of Figure 10 of the Tk paper)
  439.  
  440. If you have trouble retrieving the papers via FTP or printing them,
  441. send bmiller@cs.berkeley.edu your U.S. Mail address and he will mail
  442. you paper copies.
  443.  
  444.  
  445. B. The Expect distribution
  446.  
  447.     With the Expect distribution, there are several Postscript documents
  448. available which have been published.
  449.  
  450. 1. "Curing Those Uncontrollable Fits of Interaction", Don Libes, Proceedings
  451. of the Summer 1990 USENIX Conference, Anaheim, CA, June 11-15, 1990.  
  452.  
  453.     This paper is discussion of implementation, philosophy, and design.  
  454.     It's address is:
  455.  
  456. ftp://ftp.cme.nist.gov/pub/expect/seminal.ps.Z 
  457.  
  458. 2. "Using expect to Automate System Administration Tasks", Don Libes, 
  459. Proceedings of the 1990 USENIX Large Systems Administration Conference (LISA)
  460. IV, Colorado Springs, CO, October 17-19, 1990.  
  461.  
  462.     This paper is discussion and examples, specifically aimed at system 
  463.     administrators.  The address of this paper is:
  464.  
  465. ftp://ftp.cme.nist.gov/pub/expect/sysadm.ps.Z
  466.  
  467. 3. "expect: Scripts for Controlling Interactive Programs", Don Libes, Computing
  468. Systems, Vol. 4, No. 2, University of California Press Journals, 1991.
  469.  
  470.     A comprehensive paper of example scripts.  This paper's address is:
  471.  
  472. ftp://ftp.cme.nist.gov/pub/expect/scripts.ps.Z
  473.  
  474. 4. "Regression Testing and Conformance Testing Interactive Programs",
  475. Don Libes, Proceedings of the Summer 1992 USENIX Conference, San Antonio, CA,
  476. June 8-12, 1992. 
  477.  
  478.     This paper discusses the application of expect to the verification
  479.     of software.  This paper's address is:
  480.  
  481. ftp://ftp.cme.nist.gov/pub/expect/regress.ps.Z
  482.  
  483. 5. "Kibitz - Connecting Multiple Interactive Programs Together",
  484. Don Libes, Software - Practice & Experience, John Wiley & Sons, West
  485. Susses, England, Vol. 23, No. 5, May 1993.
  486.  
  487.     This paper is a discussion of using Tcl and Expect to connect multiple
  488.     interactive programs together.  This paper's address is:
  489.  
  490. ftp://ftp.cme.nist.gov/pub/expect/kibitz.ps.Z
  491.  
  492. 6. "X Wrappers for Non-Graphic Interactive Programs", Don Libes,
  493. draft for Xhibition 94.
  494.  
  495.     This paper discusses encapsulating standard command interfaces
  496. into a graphical user interface.  This paper's address is:
  497.  
  498. ftp://ftp.cme.nist.gov/pub/expet/expectk.ps.Z
  499.  
  500. C. Miscellaneous other online materials
  501.  
  502. 1. The ftp address for a FrameMaker MIF file containing a Quick Reference guide 
  503. to Tcl is:
  504.  
  505. ftp://harbor.ecn.purdue.edu/pub/tcl/docs/QuickRef.tar.Z 
  506.  
  507. Many thanks to "Jeff Tranter" <Jeff.Tranter@software.mitel.com> for 
  508. contributing it.
  509.  
  510. 2. PostScript versions of the man pages were provided by 
  511. "Adrian Ho" <adrianho@barkley.berkeley.edu>.  The addresses for these are:
  512.  
  513. ftp://harbor.ecn.purdue.edu/pub/tcl/docs/tcl6.3.manps.tar.Z
  514. ftp://harbor.ecn.purdue.edu/pub/tcl/docs/tclX6.2b.manps.tar.Z
  515. ftp://harbor.ecn.purdue.edu/pub/tcl/docs/tk2.1.manps.tar.Z
  516.  
  517. 3. An early draft of the following text book is available:
  518.  
  519. Title:                  Tcl and the Tk Toolkit
  520. Author:                 John K. Ousterhout
  521. Publisher:              Addison-Wesley
  522. Expected availability:  April 1994
  523. ISBN:                   0-201-63337-X
  524.  
  525.  
  526.     The section dealing with writing Tcl scripts is:
  527. ftp://ftp.cs.berkeley.edu/ucb/tcl/book.p1.ps.Z 
  528.  
  529.     The section dealing with writing Tcl scripts for Tk is:
  530. ftp://ftp.cs.berkeley.edu/ucb/tcl/book.p2.ps.Z 
  531.  
  532.     The section dealing with writing Tcl applications in C is:
  533. ftp://ftp.cs.berkeley.edu/ucb/tcl/book.p3.ps.Z 
  534.  
  535.     The section dealing with writing Tk widgets and geometry managers
  536. in C is:
  537. ftp://ftp.cs.berkeley.edu/ucb/tcl/book.p4.ps.Z 
  538.  
  539. The first two parts are about 130 pages in length and the third and fourth
  540. parts are less than 70 pages in length each.  This is ONLY a draft and is not
  541. permitted to be redistributed.
  542.  
  543. 4. A series of PostScript slides used in a tutorial on Tcl and Tk at
  544. the 1993 X Conference are available as:
  545.  
  546. ftp://ftp.cs.berkeley.edu/ucb/tcl/tut.tar.Z
  547.  
  548. 5. A set of Postscript files collected for the Tcl 93 workshop proceedings
  549. is available as:
  550.  
  551. ftp://harbor.ecn.purdue.edu/pub/tcl/workshop/tcl93-proceedings.tar.Z
  552.  
  553.     This file contains the following papers:
  554.  
  555. a. "A Debugger for Tcl Applications", by Don Libes, National Institute
  556. of Standards and Technology.
  557.  
  558.     Describes a debugger for Tcl applications.
  559.  
  560. b. "A Compiler for the Tcl Language", by Adam Sah and Jon Blow, University
  561. of California, Berkeley, CA.
  562.  
  563.     A discussion of the design issues for providing a compiler for the Tcl
  564.     language.
  565.  
  566. c. "[incr tcl] - Object-Oriented Programming in TCL", by Michael J. McLennan,
  567. AT&T Bell Laboratories, Allentown, PA.
  568.  
  569.     Describes a set of extensions for organizing Tcl procedures and
  570. data into packages.
  571.  
  572. d. "CASTE: A class system for Tcl", by Michael S. Braverman, University of
  573. California, Berkeley, CA.
  574.  
  575.     Introduces a structured object class extension for Tcl.
  576.  
  577. e. "Interfacing an Object-Oriented Database System from Tcl", by 
  578. Dietmar Theobald, Forschungszentrum Informatik, Karlsruhe Germany
  579.  
  580.     A generic interface extension to an object-oriented database.
  581.  
  582. f. "Tcl Distributed Programming", by Brian C. Smith, Lawrence A. Rowe, and
  583. Stephen C. Yen, University of California, Berkeley, CA.
  584.  
  585.     Introduces the Tcl-DP extension to Tcl.
  586.  
  587. g. "Cooperating Applications through Tcl/Tk and DCE", by David Richardson,
  588. University of Michigan
  589.  
  590.     Description of integrating Tcl/Tk into Open Software Foundation's
  591. Distributed Computing Environment.
  592.  
  593. h. "NeoSoft Whiteboard - A framework for Internet-based Collaboration",
  594. by Karl Lehenbauer, Ellyn Mustard, NeoSoft, Inc., Brad Morrison,
  595. Paranet, Inc.
  596.  
  597.     Describes a generic groupware framework using Tcl/Tk.
  598.  
  599. i. "Tcl/Tk as a Basis for Groupware", by Mark Roseman, University of Calgary,
  600. Alberta Canada
  601.  
  602.     Why Tcl/Tk provides a good environment for groupware developers. 
  603.  
  604. j. "Tcl and Tk Use in the Artifact Based Collaboration System", by
  605. John Menges and Mark Parris, University of North Carolina.
  606.  
  607.     Describes a collaboration system being built at UNC whose user
  608. interfaces are based on Tk.
  609.  
  610. k. "Ak: An Audio Toolkit for Tcl/Tk", by Andrew C. Payne, Digital Equipment
  611. Corporation, Cambridge Research Lab.
  612.  
  613.     Describes Ak, an audio extension for Tcl build on the AudioFile
  614. System.
  615.  
  616. l. "A Tcl/Tk Continuous Media Player", by Brian C. Smith, Lawrence A. Rowe, and
  617. Stephen C. Yen, University of California, Berkeley, CA.
  618.  
  619.     A Tk application that supports playback of live digital audio and
  620.     video on a Unix workstation.
  621.  
  622. m. "Tcl in a High-Throughput Biological Lab", by Scott P. Hunicke-Smith &
  623. Dan Mosedale, Stanford Yeast Genome Project
  624.  
  625.     Description of use of Tcl based control of a laboratory robot.
  626.  
  627. n. "Autonomous Knowledge Agents - How Agents use the Tool Command Language",
  628. by Raymond W. Johnson, Lockheed Missiles and Space Corporation, Palo Alto,
  629. CA.
  630.  
  631.     Descriptions of traits of a software agent and how one of these
  632. traits led to the use of Tcl.
  633.  
  634. o. "Implementing a Visualization of an Industrial Productions Cell Using
  635. Tcl/Tk", by Arthur Brauer, Claus Lewerentz, and Thomas Lindner,
  636. Forschungszentrum Informatik, Karlsruhe Germany.
  637.  
  638.     Discussion of a complex animated simulation written using Tk/Tcl.
  639.  
  640. p. "Writing Object-oriented Tcl-based Systems using Objectify", by 
  641. Wayne A. Christopher, University of California, Berkeley, CA.
  642.  
  643.     Describes Objectify, a facility for integrating C++ classes into
  644.     Tcl-based systems.
  645.  
  646. q. "Use of Tcl/Tk in DTS, an Interactive Optimization and Scheduling System",
  647. by Benjamin Fried, Aleks Gollu and Othar Hansson, Heuristicrats Research Inc.
  648.  
  649.     An abstract of the work being done with Tcl in a NASA scheduling
  650. system.
  651.  
  652. r. "Embedding a Scheme Interpreter in the Tk Toolkit", by
  653. Erick Gallesio, Valbonne, France.
  654.  
  655.     Describes STk, which is a Tk package with Scheme replacing Tcl.
  656.  
  657. s. "The Next, Best Thing in File Browsers", by Michael A. Harrison,
  658. Thomas A. Phelps, University of California, Berkeley, CA.
  659.  
  660.     Describes NBT, an extended NeXTSTEP file selection box.
  661.  
  662. t. "Tcl/Tk - An Integration Vehicle for the Microwave/Millimeter-Wave
  663. Pilot Sites (MMPS)", by Kevin B. Kenny, Brion D. Sarachan,
  664. Robert N. Sum Jr., and Wayne H. Uejio, GE Corporate R&D.
  665.  
  666.     Describes developing wrappes for commercial vendor
  667. applications like FrameMaker (R) and Xess (R).
  668.  
  669. u. "Generalising a File Manager into an Address Book and Other Things",
  670. by J. D. Newmarch, University of Canberra, Australia
  671.  
  672.     Describing a redesign of an X file manager to allow the best
  673. features of a command line environment and a graphical interface.
  674.  
  675. v. "Noosa: Execution Monitoring using Tcl and Tk", by Anthony M. Sloane,
  676. University of Colorado.
  677.  
  678.     An overview of an event-based execution monitoring system.
  679.  
  680. w. "An Interactive Compiler Development System", by Gary S. Tyson,
  681. Robert J. Shaw and Matthew K. Farrens, University of California, Davis, CA.
  682.  
  683.     Describes an interactive graphical optimizer.
  684.  
  685. 6. A second set of Postscript files consisting primarily of overhead slides
  686. is available as:
  687.  
  688. ftp://harbor.ecn.purdue.edu/pub/tcl/workshop/tcl93-proceedings2.tar.Z
  689.  
  690.     This file (tcl93-proceedings2) contains the following slides:
  691.  
  692. a. "Cooperating Applications through Tcl/Tk and DCE", by David Richardson,
  693. University of Michigan.
  694.  
  695. b. "Ak An Audio Toolkit for Tcl & Tk", by Andrew Payne, Digital Equipment
  696. Corporation, Cambridge Research Laboratory.
  697.  
  698. c. "Tcl Distributed Programming", by Brian C. Smith, Lawrence A. Rowe,
  699. Stephen C. Yen, University of California at Berkeley.
  700.  
  701. d. "Supervisory Control Language - Applying Tcl to the Realtime Arena"
  702. presentation by Computerized Processes Unlimited, Inc.
  703.  
  704. e. "Tcl / Tk as a Basis for Groupware" by Mark Roseman
  705.  
  706.     This file (tcl93-proceedings2) contains the PostScript for the paper:
  707.  
  708. f. "A Table Manager for Tk", by G. A. Howlett <George.A.Howlett@att.com>,
  709. ATT.
  710.  
  711.     This file (tcl93-proceedings2) also contains Usenet postings by:
  712.  
  713. h.    /* ???? */
  714. i.    /* ???? */
  715. j.    /* ???? */
  716. k.    /* ???? */
  717.  
  718. 7. The Tcl Compiler (TC) Frequently Asked Questions by Adam Sah
  719. <asah@cs.Berkeley.EDU> is a document describing TC, which is a work
  720. in progress.  Contact Adam for details.
  721.  
  722. 8. A compact yet detailed overview of Tcl, Tk and Xf is available thanks
  723. to the graciousness of theobald@fzi.de (Dietmar Theobald) at:
  724.  
  725. ftp://ftp.fzi.de/pub/OBST/OBST3-3/psfiles/TclTk_notes.ps.Z
  726. (compressed format) and
  727. ftp://ftp.fzi.de/pub/OBST/OBST3-3/psfiles/TclTk_notes.ps.gz (gzip format)
  728.  
  729. 9. Softcopy of an article about PhoneStation, a tool using Tk and Tcl, was
  730. presented at the 1993 Winter USENIX Conference.
  731.  
  732. Uhler, Stephen A. (1993) ``PhoneStation, Moving the Telephone onto the 
  733. Virtual Desktop'', in the Proceedings of the 1993 Winter USENIX Conference,
  734. pp ??-??
  735.  
  736. A softcopy of the paper is available as 
  737. ftp://bellcore.com/pub/PhoneStation/USENIX.ps 
  738.  
  739. 10. VanAndel, J.H., 1993: ``Design of a New Radar Control and Data Acquisition 
  740. System''.  Preprints, 26th Conference on Radar Meteorology, Norman, Oklahoma
  741.  
  742. The paper is available in postscript form via the experimental web server:
  743. <a href="http://www.atd.ucar.edu/jva/RadarControl.AMS.ps"> Radar Control PS </a>
  744.  
  745. 11. Mark A. Harrison <mharriso@utdallas.edu>  has written a Tk/Tcl
  746. information sheet, providing an introductory look at why one might want to 
  747. use Tcl and Tk.  Version 1.0 was posted to comp.lang.tcl as
  748. <278ml0$457@news.utdallas.edu>.  Contact him for a copy.
  749.  
  750. 12. Cedric Beust <beust@modja.inria.fr> has written a short article
  751. giving guidelines on where to start when writing a Tcl extension.  You
  752. may find it at ftp://avahi.inria.fr/tcl/writing-a-tcl-extension.ps .
  753.  
  754. 13. Douglas Pan and Mark Linton <linton@marktwain.rad.sgi.com> have
  755. written the paper ``Dish: A Dynamic Invocation Shell for Fresco''.
  756. It is available at ftp://sgi.com/graphics/fresco/dish.ps.Z .  The FAQ
  757. as well as some other papers are in ftp://sgi.com/graphics/fresco/ .
  758. Fresco is an X Consortium project - non-members interested in contributing
  759. to the effort should contact Mark Linton.
  760.  
  761. 14. Michael Jipping, Hope College , (1993) ``Using Tcl as a Tool Talk
  762. Encapsulation'', in the Sun User Group Eleventh Annual Conference and
  763. Exhibition PROCEEDINGS, pp 161-174.  This details work done writing an
  764. abstract extension to Tcl which enables one to encapsulate tools to
  765. make them ToolTalk aware.
  766.  
  767. 15. A WorldWideWeb (WWW) resource for Ada Tcl is available as:
  768. http://www.cs.colorado.edu/homes/arcadia/public_html/adatcl.html
  769.  
  770. 16. A WWW resource for the MBV Lab's Tcl/Tk support is:
  771.  
  772. http://cornea.mbvlab.wpafb.af.mil/tcl.html
  773.  
  774. 17. A WWW resource for the HTCLtoTCL program is available at:
  775.  
  776. http://www.lbl.gov/~clarsen/clarsen.html
  777.  
  778. 18. A WWW resource for describing the set of extra ServiceMail
  779. Tcl scripts is available at:
  780.  
  781. http://keck.tamu.edu/cgi/staff/emailserver.html
  782.  
  783. 19. A WWW resource describing the HTML to Tcl preprocessor is
  784. available at:
  785.  
  786. http://www.lbl.gov/~clarsen/projects/htcl.html
  787.  
  788. 20. A WWW resource discussing Tk/Tcl style issues is available at:
  789.  
  790. http://www.atd.ucar.edu/jva/TCL.style.html
  791.  
  792. 21. A WWW resource discussing Visual Numerics PV-Wave with Tk/Tcl is
  793. available at:
  794.  
  795. http://www.atd.ucar.edu/jva/rds/wave_tk.html
  796.  
  797. 22. A set of WWW resources discussing the Fermilab's use of Tcl within
  798. a massive data manipulation package can be found at:
  799.  
  800. http://fndauh.fnal.gov:8000/spectro/doc/www/spectro.home.html
  801. http://fndauh.fnal.gov:8000/shiva/doc/www/shiva.home.html
  802.  
  803. as well as various pages underneath this set of homes.
  804.  
  805. 23. A soft file containing notes on Tcl and quoting philosophy can be
  806. found at ftp://harbor.ecn.purdue.edu/pub/tcl/docs/README.programmer .
  807.  
  808. 24. There are references to Tcl and Tk (and perhaps other Tcl based
  809. interpreters) within the following WWW databases:
  810.  
  811. The Catalog of Free Compilers and Interpreters:
  812. http://cui_www.unige.ch/freecomp
  813.  
  814. and
  815. The Language List:
  816. http://cui_www.unige.ch/langlist
  817.  
  818. 25. The first Tcl 'home page' is now available via the WWW URL:
  819.  
  820. http://www.sco.com/IXI/of_interest/tcl/Tcl.html
  821.  
  822. Thanks to Mike Hopkirk for the time, energy and resources to make this
  823. available.
  824.  
  825. 26. The home page for Jungle - the Tcl-based WWW server - is available
  826. as:
  827.  
  828. http://catless.ncl.ac.uk/Programs/Jungle
  829.  
  830. 27. The home page for Nautilus - the Tcl-based [incr tcl] browser -
  831. is available at:
  832.  
  833. http://catless.ncl.ac.uk/Programs/Nautilus/
  834.  
  835. 28. The home page for Zircon - the Tcl-based Internet Relay Communication
  836. (IRC) browser - is available at:
  837.  
  838. http://catless.ncl.ac.uk/Programs/Zircon/
  839.  
  840. 29. Documentation on the Tcl processing of WWW's server Common Gateway
  841. Interface (known as CGI) can be found at:
  842.  
  843. http://www.lbl.gov/~clarsen/projects/htcl/http-proc-args.html
  844.  
  845. 30. Mark Roseman <roseman@edm.isac.ca> has prepared a brief comparison
  846. between Tcl/Tk and the Interviews C++ toolkit.  It is available via
  847. email by contacting him.
  848.  
  849. 31. Information about the SIMON Mosaic hotlist management tool can be
  850. found at http://web.elec.qmw.ac.uk:12121/ .
  851.  
  852. 32. Information about Fritz Heinrichmeyer's experimental Schematic SPICE
  853. interface is available from http://ES-sun2.fernuni-hagen.de/editor.html .
  854.  
  855. 33. Information about ical is now accessible from
  856. http://clef.lcs.mit.edu/~sanjay/ical.html .
  857.  
  858.  
  859. D. Published articles, books, and similarly available resources
  860.  
  861.  
  862. 1. Computer Shopper, V12 N12, page 862 had an article referencing Tickle, 
  863. the shareware package under Macintosh System 7 which is based on Tcl.
  864.  
  865. 2. MacWEEK, Sept 14, 1992, V6 N32, page 91(1), Enhancing text editors for
  866. Mac developers.
  867. This article is a product announcement for Alpha 5.0, the Macintosh
  868. editor which incorporates Tcl.
  869.  
  870. 3. Computer Language, V9 N7, page 76 had an article referencing Tcl in
  871. a hardware/software testing package which talks to a remote machine via 
  872. a proprietary interface card.
  873.  
  874. 4. SunWorld, V5 N10, pages 95-96 had a article discussing Tcl, Tk and
  875. expect.
  876.  
  877. 5. UNIX REVIEW, V11 N4, April 1993, pages 93-94, Tcl, Tk, and friends
  878. by Richard Morin.
  879. The article, a part of "The Internet Notebook", mentions a little about
  880. Tcl and Tk, where to find the sources, where to find the draft of the
  881. book, and where to find the contributed software.
  882.  
  883. 6. SunExpert, V4 N3, pages 32-36, by Richard Morin.  As part of Morin's
  884. I/Opener series of articles, this is just a brief overview of Tcl and Tk.
  885. It mentions some of the technical ideas behind Tcl and Tk, where to find
  886. the Tcl source and mentions that the draft of the book is available on
  887. ftp.cs.berkeley.edu.  A 'hello, world' 3 line wish script is really
  888. all that is shown.
  889.  
  890. 7. Libes, Don, "Obfuscated C and Other Mysteries", Wiley & Sons,
  891. January 1993.
  892.  
  893. This book has a whole chapter on Tcl.  Aimed at the C programmer, it
  894. describes how to effectively use Tcl from C applications.  Another
  895. chapter is on Expect - a walk-through of some of the more interesting
  896. code in Expect.  These chapters originally appeared as separate
  897. articles in The C Users Journal, Vol. 8, No. 7, July 1990, and Vol. 9,
  898. No. 1, 1991.  (Incidentally, the reason the book has such a peculiar
  899. title is that it also contains explanations of the Obfuscated C Code
  900. Contest winners.)
  901.  
  902. 8.  IEEE Design & Test of Computers, June 1993, pages 46-54,
  903. "RISE++: A Symbolic Environment for Scan-Based Testing" by Steve Vinoski.
  904. An article describing a system called the Remote Interactive Scan
  905. Environment (RISE++) that marries Tcl with RPC for the purpose of
  906. testing remote computer systems.
  907.  
  908. 9. The X Journal, March-April 1993, pages 74-81, "HYPERTOOLS
  909. A revolution in GUI applications" (listed in the TOC as "Hypertools: A GUI
  910. revolution") by John K. Ousterhout and Lawrence A. Rowe.
  911.  
  912. 10. Proceedings 1993 Tcl/Tk Workshop, Berkeley, CA, June, 1993.  See above
  913. for online version information concerning these proceedings.
  914.  
  915. 11. iX (multiuser/multitasking magazine), September 1993,
  916. pages 76-84 and 182-185.  Two articles written in the German language.
  917. These concern the design (interpreter and library) of Tcl/Tk and its
  918. connections with C++.  The articles say where to find the packages and
  919. some associated tools (such as XF).  There are short examples on how to
  920. write programs with Tcl/Tk (taken from the demo-directory of the
  921. package) and examples on using XF.  Very informative.
  922.  
  923. 12. Network Computing (CMP Publishing, Inc), November 15, 1993, pp. 99 
  924. "Very Rich E-Mail".  References safe-tcl.
  925.  
  926. 13. The Addison-Wesley Publishing Company's quarterly newsletter "Innovations"
  927. dated Winter 93/94 contains an interview with John K. Ousterhout on pp 2,9,10.
  928. It mentions the April 1994 release date, Dr. Ousterhout's background
  929. at UCB and involvement in Sprite.  John gives a overview of what Tk and
  930. Tcl are, what companies are using Tcl, where Tcl/Tk fits in relationship
  931. to AWK, Perl, Motif, and X Windows (sic), mentions there are between 10,000
  932. and 50,000 people developing applications in Tcl/Tk, discusses where in
  933. the classroom the textbook fits, and gives an overview of John's view
  934. of the future of Tcl/Tk.
  935.  
  936. Also on page 3 of the same newsletter is the overview of the book 
  937. listing it as 512 pages and a list price of $36.75.
  938.  
  939. One can send email to pradeeps@aw.com (Pradeepa Siva) to request a copy
  940. of the newsletter, or call him at Addison-Wesley Publishing Company
  941. 800/447-2226, ext 2940.
  942.  
  943. 14. EXE, Nov. 1993, V8 N6, p84(4), Ticklish X windows.
  944. This is a tutorial as a part of a regular Unix column. It covers Tcl/Tk as a
  945. scripting language for writing small X-Windows applications.
  946.  
  947. 15. UNIX Review, March 1994, V12 N3, p87-90.  Tickled Pink, by
  948. Kevin Richard and Eric F. Johnson.  This is part of the programming column
  949. "CROSS THOUGHTS".
  950.  
  951. The authors attempt to provide a very brief taste for Tcl/Tk and to convey
  952. the purposes for which they consider Tcl suited.  They provide a standard
  953. example of "Hello, world" in Tcl, and also a version written in Motif/C.
  954.  
  955. There were quite a few surprisingly negative remarks in a column which
  956. tried to be positive about Tcl/Tk.
  957.  
  958. 16. iX, January 1994, pp 148-152, Another German article about the
  959. interpretative  class system that is a part of the GOOD graphics system.
  960.  
  961.  
  962.  
  963. Additional bibliographic references are still being sought.
  964.  
  965.  
  966. E. Training courses, materials, etc.
  967.  
  968.  
  969. 1. There have been, in the past, seminars at Usenix and the MIT X
  970. conference taught by John Ousterhout on Tcl and Tk.  See above for the
  971. slides from the most recent of these presentations.  Other conferences
  972. are also mentioning Tcl and Tk in their announcements.  Recently the
  973. Usenix Very High Level Language Conference mentioned Tcl.
  974.  
  975. 2. NeoSoft Communications Services ( info@NeoSoft.com, (713) 684-5900 ,
  976. 9am - 4pm CDT M-F ) can teach introductory and advanced Tcl courses on
  977. site or at their location in Houston, Texas.  A syllabus and pricing
  978. information are available on request.  Please contact Ellyn Mustard at
  979. (713) 684-5900 or via email to ellyn@neosoft.com for more details.
  980.  
  981. 3. Computerized Processes Unlimited ( gwl@cpu.com, (504) 889-2784 
  982. 4200 S. I-10 Service Road, Suite #205, Metairie, LA 70001 )
  983. has a combined Tcl/Tclx reference manual for sale.  It groups the commands
  984. by chapter based on functionality and has an extensive index.  They
  985. also offer courses on Tcl.  For instance:
  986.  
  987. 1. Course Title:           Introduction to Programming in Tcl
  988.  
  989. Course Length:          2 Days
  990.  
  991. Course Format:          Course material is presented in a lecture format and
  992.                         through a hands on laboratory using a
  993.                         network of X terminals connected to a RISC workstation.
  994. Course Description:     This course introduces the participant to programming
  995.                         in Tcl/TclX.
  996.  
  997.                         Topics include:
  998.                                 - Variables
  999.                                 - Arrays
  1000.                                 - Lists
  1001.                                 - Keyed Lists
  1002.                                 - Syntax
  1003.                                 - Flow control
  1004.                                 - Procedures
  1005.                                     o Creating
  1006.                                     o Invoking
  1007.                                     o Passing variables
  1008.                                     o Passing arrays
  1009.                                     o Passing lists
  1010.                                 - Running programs from Tcl
  1011.                                 - Communicating with child processes
  1012.                                 - Signal handling
  1013.                                 - Error processing
  1014.                                 - Accessing system facilities
  1015.                                 - Programming techniques
  1016.                                    o Using autoloading procedures
  1017.                                    o Proper use of quoting
  1018.  
  1019. Course Level:           Technical: Beginner to Intermediate
  1020.  
  1021. Prerequisites:          Use of vi or emacs editors
  1022.                         Exposure to programming concepts
  1023.                         Use of csh/ksh (not programming)
  1024.  
  1025. 2. Course Title:           Building Graphical User Interfaces in Tk
  1026.  
  1027. Course Length:          2 Days
  1028.  
  1029. Course Format:          Course material is presented in a lecture format and
  1030.                         re-enforced through a hands on laboratory using a
  1031.                         network of X terminals connected to a RISC workstation.
  1032. Course Description:     This course introduces the participant to building
  1033.                         graphical user interfaces using Tcl/Tk.
  1034.  
  1035.                         Topics include:
  1036.                                 - Background Concepts
  1037.                                 - A tour of the widgets
  1038.                                 - Adding Bindings
  1039.                                 - Widget Class Bindings
  1040.                                 - Geometry Managers
  1041.                                 - Running programs from Tcl/Tk
  1042.                                 - Communicating with child processes
  1043.                                 - Writing widgets in Tcl/Tk
  1044.                                 - Programming techniques
  1045.                                    o Proper use of quoting
  1046.                                 - Interface Builders for Tk
  1047.  
  1048. Course Level:           Technical: Beginner to Intermediate
  1049.  
  1050. Prerequisites:          CPU's "Introduction to Programming in Tcl" course
  1051.                         or understanding and experience using Tcl
  1052.  
  1053. 4. A physical copy of the Tcl / Tk distributed documentation is
  1054. available at the Northside Copy Central in Berkeley under the name "TCL" and
  1055. is titled "Tcl/Tk Documents".  Northside Copy Central is at 1862 Euclid 
  1056. with a phone of (510) 849-9600.  It costs approx. $15-$20 for the book in
  1057. a spiral bound, pink cover, clear plastic front and back format.
  1058.  
  1059.  
  1060. F.  Time-related seminars, conferences, sessions.
  1061.  
  1062.  
  1063. 1. A Tcl/Tk workshop was held June 10-11, 1993 at University of 
  1064. California at Berkeley.  The workshop proceedings are going to be made
  1065. available for ftp in the near future.  The bibliographic references for
  1066. the articles published will be added in the near future.
  1067.  
  1068. 2. At the Eighth Annual X Technical Conference, on January 24th, 1994,
  1069. a day long Tcl/Tk tutorial was presented by payne@crl.dec.com (Andrew
  1070. Payne).  It was aimed at the beginning Tcl/Tk programmer and Andrew
  1071. did a narrated tour of the Tk widgets.
  1072.  
  1073. Also at this conference, John Menges presented the topic:
  1074. "Constructing X Pseudo-Servers with the X Protocol Engine Library (XPEL)"
  1075. in an all day tutorial.  This is a C++ library to which one can use Tcl
  1076. to communicate.
  1077.  
  1078. The entire conference was held at the Boston Marriott Copley Place.
  1079. Pre-Registration closed on January 7, 1993.  Contact
  1080.  
  1081. Massachusetts Institute of Technology
  1082. Conference Services Office
  1083. 77 Massachusetts Ave., Rm. 7-111
  1084. Cambridge, MA  02139  U.S.A.
  1085.  
  1086. Fax:  617-253-7002, email: registration@x.org
  1087.  
  1088. for more details on future conferences.
  1089.  
  1090. 3. A Tcl/Tk Workshop by Brent Welch and Lawrence A. Rowe was held
  1091. on Wed, January 19, 1994 at 10:30 am at the San Francisco Usenix
  1092. Winter 1994 Technical Conference.  Dr. John Ousterhout also 
  1093. presented his Tcl/Tk tutorial on Thursday, January 20, 1994. 
  1094.  
  1095. 4. An upcoming USENIX symposium will be dealing with Perl, Tcl and other
  1096. similar languages.  Here is the information I have to date.
  1097.  
  1098. Symposium on Very High Level Languages
  1099. October 26-28, 1994
  1100. El Dorado Hotel
  1101. Santa Fe, New Mexico
  1102. Program Chair: Tom Christiansen (tchrist@usenix.org)
  1103. Extended abstracts due June 30, 1994
  1104.  
  1105. 5. The 1994 Tcl/Tk Workshop and Seminars is scheduled to occur June
  1106. 20-25, 1994, in New Orleans, LA.  The seminars will be occuring on June
  1107. 20-22.  They will last from 1-3 days and the number of semiars and
  1108. attendance is limited due to space constraints.  Cost depends on the
  1109. seminar chosen.
  1110.  
  1111. The workshop will be help June 23-25 and consist of current work and
  1112. future direction sessions and attendance will be limited.  
  1113.  
  1114. For more details on dates, fees, seminar topics, etc., contact gwl@cpu.com.
  1115.  
  1116.  
  1117. ------------------------------
  1118.  
  1119. From: FAQ General information
  1120. Subject: -VI- Where do I report problems, bugs, or enhancements - or -
  1121.         What is comp.lang.tcl?
  1122.  
  1123.     There are two alternatives for reporting bugs and problems.
  1124. The first is the USENET news group news:comp.lang.tcl, an unmoderated USENET
  1125. newsgroup, created for the discussion of the Tcl programming language
  1126. and tools that embed it, such as the Tk toolkit for the X window
  1127. system, expect, and Extended Tcl.  Please note that postings of source
  1128. code to comp.lang.tcl do not get archived to harbor.ecn.purdue.edu - if
  1129. you want your code to be available from the User Contributions archive
  1130. you will need to make arrangements for someone to ftp it there.  See
  1131. elsewhere in the FAQ for more details on the archive site.
  1132.  
  1133.     The second would be to report problems, suggestions, new
  1134. ideas, etc. to the author.  Email to
  1135.  
  1136. ouster@cs.berkeley.edu (John Ousterhout)
  1137.  
  1138. will get comments to the author of Tcl and Tk - to find the email
  1139. address of the authors of other Tcl/Tk based programs,
  1140. (see "tcl-faq/part3"), (see "tcl-faq/part4"), and (see "tcl-faq/part5").
  1141.  
  1142.     At least one short term archive of comp.lang.tcl is available for 
  1143. anonymous ftp from ftp://csc.canberra.edu.au/pub/motif/comp.lang.tcl/ .
  1144.  
  1145.  
  1146. ------------------------------
  1147.  
  1148. From: FAQ General information
  1149. VII. Are there any mailing lists covering topics related to Tcl/Tk?
  1150.  
  1151.     There are quite a number of mailing lists which cover topics
  1152. relating to the Tcl community.  As you begin one, if you will send
  1153. me information relating to the mailing list, I will add it below.
  1154.  
  1155. o    VMS Tcl/Tk
  1156.  
  1157.     Folks interested in Tcl on VMS in general can sign up to the
  1158.     vms-tcl@src.honeywell.com mailing list for more details.
  1159.     An archive for the mailing list is available at:
  1160.     ftp://src.honeywell.com/pub/vms-tcl/mailinglist.archive
  1161.  
  1162. o    Macintosh Tcl
  1163.  
  1164.         W. Ross Brown <ross@bnr.ca> previously maintained a
  1165.     mailing list for discussion of Tcl on the Macintosh.  This list
  1166.     is being phased out and users are encouraged to move to the new
  1167.     Macintosh Tcl Mailing list.  Here is it's announcement:
  1168.  
  1169.     ---
  1170.  
  1171.         This Mailing List is devoted to the issues of Tcl on
  1172.     the Macintosh.  This includes (but not limited to) such
  1173.     topics as ports of Tcl to the Mac (MacTcl), Tcl questions
  1174.     relating only to the Mac (file I/O etc.), and porting of Tk to
  1175.     the Mac.
  1176.  
  1177.         A previous mailing list was supported by Ross Brown.
  1178.     Ross, however, had to manage the list by hand.  This list will
  1179.     be managed by listserv software and will hopefully be more
  1180.     active.  If you were previously on Ross's mailing list you are
  1181.     encouraged to switch to this new list.  Ross's mailing will be
  1182.     phased out shortly.
  1183.  
  1184.         To get more information about the mailing list send a message
  1185.     to "listserv@aic.lockheed.com" with the line "information mactcl" in
  1186.     the body of the message (the subject is ignored).
  1187.  
  1188.         To subscribe to the mailing list send a message to
  1189.     "listserv@aic.lockheed.com" with the line "subscribe mactcl Your Name"
  1190.     in the body of the message.  Substitute 'Your Name' with
  1191.     whatever your real name is.
  1192.  
  1193.         Otherwise, all posting of articles to the mailing list
  1194.     should be sent to mactcl@aic.lockheed.com.
  1195.  
  1196. o Tcl general discussion mailing list
  1197.  
  1198.         For those USENET-deprived individuals who are thus unable
  1199.     to read comp.lang.tcl, an email alternative is available.
  1200.     If you get comp.lang.tcl you do not need to sign up for this list.
  1201.  
  1202.         A service called "listserv" is being run out of CERN to forward
  1203.     comp.lang.tcl postings via e-mail to people who don't have direct
  1204.     access to the newsgroup.  In addition, they are archiving the newsgroup
  1205.     so you can retrieve old postings from them.  Here is some more
  1206.     information about the service:
  1207.  
  1208.    1) send a mail to listserv@cernvm.cern.ch with one line in the body:
  1209.  
  1210.       subscribe tcltk
  1211.  
  1212.    2) see how it works (you will receive the mail with instructions from
  1213.       listserv);
  1214.  
  1215.    3) unsubscribe by a mail to listserv@cernvm.cern.ch with one line in the
  1216.       body:
  1217.  
  1218.       signoff tcltk
  1219.  
  1220.    4) again, signing off will be confirmed by listserv
  1221.  
  1222. o X Protocol Engine Library (XPEL) mailing list
  1223.  
  1224.     To join, send email to xpel-request@cs.unc.edu .
  1225.  
  1226.     XPEL uses Tcl for an embedded interpretor as well as uses
  1227. safe-tcl in external monitor programs.
  1228.  
  1229. o Basic Object Systems (BOS) mailing list
  1230.  
  1231.     BOS is a SELF-like objects extension to Tcl.
  1232.  
  1233.     To join, send email to snl+bos-requests@cmu.edu 
  1234.  
  1235. o ServiceMail Toolkit mailing list
  1236.  
  1237.     ServiceMail is a stand-alone email server written in C and Tcl.
  1238.     It takes incoming email requests and can perform tasks for the
  1239.     sender.
  1240.  
  1241.     To join the mailing list, send email to servicemail-help@eitech.com
  1242.     or subscribe to servicemail-help mailing list by sending a message
  1243.     to the "listserv subscribe servicemail-help your-real-name" service at
  1244.     "services@eitech.com".
  1245.  
  1246. o Dejagnu mailing list
  1247.  
  1248.     This set of mailing lists are NOT maintained by Cygnus.
  1249.  
  1250.     3 mailing lists - dejagnu-bugs, dejagnu-developers, and
  1251.     dejagnu-questions - have been created as a part of the
  1252.     yggdrasil.com listserv.
  1253.  
  1254.     To subscribe, send a line like:
  1255.  
  1256. echo subscribe dejagnu-bugs yourname@yoursite.com | mail listserv@yggdrasil.com
  1257.  
  1258.     where you put your own email address in place of yourname@yoursite.com
  1259.     and you put the name of the mailing list you wish to join after
  1260.     subscribe.
  1261.  
  1262. ------------------------------
  1263.  
  1264. From: FAQ General information
  1265. Subject: -VII- Where can I find the FAQ and who do I contact for more 
  1266.         information about it?
  1267.  
  1268.     I am going to attempt to keep a copy of this file up to date on
  1269. ftp://harbor.ecn.purdue.edu/pub/tcl/docs/tcl-faq.p0[1-5].gz .  There
  1270. are mirrors of harbor.ecn.purdue.edu maintained elsewhere - for
  1271. instance, it appears that cs.huji.il, ftp.denet.dk, ftp.luth.se,
  1272. hplyot.obspm.fr, rs3.hrz.th-darmstadt.de, sunsite.unc.edu,
  1273. swdsrv.edvz.univie.ac.at all have some portion of the harbor archives
  1274. available.  Also, I will be posting it on a regular basis to at least
  1275. comp.lang.tcl, news.answers, and comp.answers.
  1276.  
  1277.     Many FAQs, including this one, are available on the archive
  1278. site ftp://rtfm.mit.edu/pub/usenet/news/answers/ .  The subdirectory and
  1279. name under which a FAQ is archived appears in the Archive-name line at
  1280. the top of the article.  For example, this part of the comp.lang.tcl
  1281. FAQ is archived as
  1282. ftp://rtfm.mit.edu/pub/usenet/news/answers/tcl-faq/part1.Z .
  1283.  
  1284.     There is also a mail server from which you can obtain a copy of
  1285. the FAQ.  Send an email message to mail-server@rtfm.mit.edu or
  1286. archive-server@nic.switch.ch) with the word help in the body of the
  1287. message to find out how to use it.
  1288.  
  1289.     Also, this FAQ is available from within gopher (by looking at
  1290. any one of the gopher holes presenting news.answers or FAQ lists), from
  1291. WAIS servers (such as the comp.lang.tcl.src), from a number of sites
  1292. which have available via ftp archives of news.answers and comp.answers
  1293. ( use archie to locate one of these sites available around the world),
  1294. and probably other resources as well.
  1295.  
  1296.     A great new resource access point for the FAQ is WorldWideWeb.
  1297. The Uniform Resource Locator (URL) id for the FAQ is:
  1298.  
  1299. http://www.cis.ohio-state.edu:80/hypertext/faq/usenet/tcl-faq/top.html
  1300.  
  1301. Be sure to check this one out!
  1302.  
  1303.     A WWW URL for the FAQ, where the FAQ is treated simply as one
  1304. long scrollable document (suitable for doing a search against, for
  1305. instance) is:
  1306.  
  1307. http://realsoon.wpi.edu:8080/faqs/tcl.FAQ
  1308.  
  1309.     A complete archive of the newsgroup is available from:
  1310.  
  1311. ftp://ftp.neosoft.com/pub/usenet-archives/comp/lang/tcl/
  1312.  
  1313. A good place to start looking through this archive is:
  1314. ftp://ftp.neosoft.com/pub/usenet-archives/comp/lang/tcl/+Index
  1315. which contains a list of all the filenames and subject lines of each of the
  1316. articles.
  1317.  
  1318.     Let me know when you find the FAQ in new and unusual locations
  1319. so I can update this resource guide!
  1320.  
  1321.     If you have corrections, enhancements, modifications,
  1322. clarifications, suggestions, ideas, new questions, new answers to
  1323. questions which have never been asked, or something else that I have
  1324. not covered above, contact me at lvirden@cas.org.
  1325.  
  1326.  
  1327. ------------------------------
  1328.  
  1329. End of comp.lang.tcl Frequently Asked Questions (1/5)
  1330. *****************************************************
  1331.